export default {
    Object(input, divider, lastCollection) {
        return this.Splitter(input, divider, lastCollection);
    },
    Array(input, [divider]) {
        // console.log(input, divider);
        let process;
        switch (typeof divider) {
            case "function":
                process = (Input) => divider(Input);
                break;
            case "number":
            case "string":
                process = (Input) => Input[divider];
                break;
            default:
                process = (Input) => this.Splitter(Input, divider, {});
        }
        return [...input].map(process);
    },
    String(input, divider) {
        if (divider === "") return input;
        return input[divider];
    },
    Number(input, divider) {
        return input[divider];
    },
    Function(input, divider, lastCollection) {
        return divider(input, lastCollection);
    },
    Null(input) {
        return input;
    },
    default(input) {
        return input;
    },
};
